Create Virtual Machine #1
2011/11/09 |
Install GuestOS and create Virtual Machine. This example shows to install Fedora 16.
|
|
[1] | Install on text mode via network, it's OK on Console or remote connection with Putty and so on. Furthermore, Virtual Machine's images are placed at /var/lib/libvirt/images by default as a Storage Pool, but this example shows to create and use a new Storage Pool. |
[root@dlp ~]# mkdir -p /var/kvm/images # create a new Storage Pool [root@dlp ~]# virt-install \
Starting install...
-n www \ -r 1024 \ -f /var/kvm/images/www.img \ -s 20 \ --vcpus=2 \ --os-type linux \ --os-variant=fedora16 \ --network bridge=br0 \ --nographics \ --location='http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/16/Fedora/x86_64/os/' \ --extra-args='console=tty0 console=ttyS0,115200n8 serial' # installation starts |
For options, read 'man virt-install', there are many options.
-n specify the name of Virtual Machine-r specify the amount of memories of Virtual Machine -f specify the location of disks of Virtual Machine -s specify the amount of disks of Virtual Machine --vcpus=
specify the virtual CPUs
--os-type
specify types of GuestOS
--network=
specify network types of Virtual Machine. If you' like to use more than 2 Networtk
interfaces for virtual machine, add a line like "--network bridge=br1".
--nographics
nographics
--location=
specify location of installation where from
--extra-args=
specify parameters that is set in kernel
|
[2] | Install with text mode, it's the same with common procedure of installation. After finishing installation, reboot first and then login prompt is shown like follwos. |
Fedora release 16 (Verne)
Kernel 3.1.0-7.fc16.x86_64 on an x86_64 (ttyS0)
localhost login:
Password:# login [root@localhost ~]# |
[3] | Move to GuestOS to HostOS with Ctrl + ] key. Move to HostOS to GuestOS with a command 'virsh console (name of virtual machine)'. |
[root@localhost ~]#
[root@dlp ~]# # push Ctrl + ] [root@dlp ~]# # Host's console virsh console www # move to Guest
Connected to domain www
[root@localhost ~]# Escape character is ^] # Enter key # Guest's console |
[4] |
Because after installing GuestOS from network, it is minimum settings,
it's useful to save it as a template in order to create new virtual machines later.
Please refer to next procedure to create a new virtual machine from template below.
|
[root@localhost ~]#
[root@dlp ~]# # push Ctrl + ] [root@dlp ~]# # Host's console virt-clone --original www --name template --file /var/kvm/images/template.img
Cloning www.img
| 20 GB 01:44
Clone 'template' created successfully.
[root@dlp ~]# ll /var/kvm/images/template.img # disk image -rwxr-xr-x 1 root root 21474836480 Nov 9 21:48 /var/kvm/images/template.img [root@dlp ~]# ll /etc/libvirt/qemu/template.xml # xml file -rw------- 1 root root 1562 Nov 9 21:47 /etc/libvirt/qemu/template.xml |
[5] | Set basic initial configuration to GuestOS first before using it. |
[6] | Define a new Storage Pool |
[root@dlp ~]# mkdir /etc/libvirt/storage
[root@dlp ~]#
vi /etc/libvirt/storage/disk01.xml # create new
<pool type='dir'>
# any name <name>disk01</name> <capacity>0</capacity> <allocation>0</allocation> <available>0</available> <source> </source> <target> # specify pool directory <path>/var/kvm/images</path> <permissions> <mode>0700</mode> <owner>-1</owner> <group>-1</group> </permissions> </target> </pool> # define a pool [root@dlp ~]# virsh pool-define /etc/libvirt/storage/disk01.xml
Pool disk01 defined from /etc/libvirt/storage/disk01.xml
# start the pool [root@dlp ~]# virsh pool-start disk01
Pool disk01 started
# set auto-start [root@dlp ~]# virsh pool-autostart disk01
Pool disk01 marked as autostarted
# confirm to show the pool list [root@dlp ~]# virsh pool-list
Name
State Autostart ----------------------------------------- disk01 active yes # confirm to show the details [root@dlp ~]# virsh pool-info disk01 Name: disk01 UUID: 3f8ec915-8f40-49de-5be4-bea452bf0c21 State: running Persistent: yes Autostart: yes Capacity: 283.33 GB Allocation: 3.58 GB Available: 279.75 GB |